home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / MPW_TOOL / TOOLS / TOOLS_WI / FAST_LEX / MAKEFILE < prev    next >
Text File  |  1988-07-04  |  2KB  |  105 lines

  1. # make file for "flex" tool
  2. # MPW make version by Earle Horton, May 1988
  3.  
  4. # the first time around use "make first_flex"
  5.  
  6. INCLUDES = "{cincludes}"
  7. BINDIR = "{MPW}"Tools:
  8. LIBDIR = "{clibraries}"
  9. SKELETON_FILE_NAME = getenv(╢"SKELETON_FILE╢")
  10. F_SKELETON_FILE_NAME = getenv(╢"F_SKELETON_FILE╢")
  11. SKELFLAGS = -DDEFAULT_SKELETON_FILE={SKELETON_FILE_NAME} ╢
  12.         -DFAST_SKELETON_FILE={F_SKELETON_FILE_NAME}
  13. CFLAGS = -g -DMPW -DMALLOC_BUFFERS
  14. LDFLAGS =     -d -b -c 'MPS ' -t MPST ╢
  15.         "{CLibraries}"stubs.c.o ╢
  16.         "{CLibraries}"CRuntime.o ╢
  17.         "{CLibraries}"StdCLib.o ╢
  18.         "{CLibraries}"CSANELib.o ╢
  19.         "{CLibraries}"CInterface.o ╢
  20.         "{Libraries}"Interface.o
  21.         
  22. .c.o    ─    .c
  23.     C {default}.c {CFLAGS} -o {default}.c.o
  24.  
  25. FLEX_FLAGS = -ist
  26. FLEX = flex
  27.  
  28. FLEXOBJS = ╢
  29.     alloca.a.o ╢
  30.     bzero.c.o ╢
  31.     ccl.c.o ╢
  32.     dfa.c.o ╢
  33.     ecs.c.o ╢
  34.     main.c.o ╢
  35.     misc.c.o ╢
  36.     nfa.c.o ╢
  37.     parse.c.o ╢
  38.     scan.c.o ╢
  39.     sym.c.o ╢
  40.     tblcmp.c.o ╢
  41.     yylex.c.o
  42.  
  43. FLEX_C_SOURCES = ╢
  44.     bzero.c ╢
  45.     ccl.c ╢
  46.     dfa.c ╢
  47.     ecs.c ╢
  48.     main.c ╢
  49.     misc.c ╢
  50.     nfa.c ╢
  51.     parse.c ╢
  52.     scan.c ╢
  53.     sym.c ╢
  54.     tblcmp.c ╢
  55.     yylex.c
  56.  
  57. flex ─ {FLEXOBJS}
  58.     Link -o flex {FLEXOBJS} {LDFLAGS}
  59.  
  60. first_flex ─
  61.     duplicate scan.c.dist scan.c
  62.     make {MFLAGS} flex
  63.     
  64. parse.c ─ parse.y
  65.     yacc -d parse.y
  66.     move -y y.tab.c parse.c
  67.     move -y y.tab.h parse.h
  68.  
  69. parse.h    ─ parse.c
  70.  
  71. # comment-out the next two lines after a successful "make test" and
  72. # comment-in the following two lines.
  73.  
  74. scan.c ─ scan.l
  75.     {FLEX} {FLEX_FLAGS} scan.l >scan.c
  76.  
  77. scan.c.o ─ scan.c parse.h
  78.  
  79. main.c.o ─ main.c
  80.     c {CFLAGS} {SKELFLAGS} main.c
  81.  
  82. # Anybody have lint?
  83.  
  84. flex.lint ─ {FLEX_C_SOURCES}
  85.     echo "Expect a ╢"may be used before set╢" and 2 ╢"unused╢"'s
  86.     lint {FLEX_C_SOURCES} > flex.lint
  87.  
  88. clean ─
  89.     delete -i flex ┼.o parse.c parse.h scan.c
  90.  
  91. test ─
  92.     echo "This step destroys junk.c."
  93.     {FLEX} {FLEX_FLAGS} scan.l > junk.c 
  94.     compare scan.c junk.c
  95.     delete junk.c
  96.  
  97. install ─ {FLEX}
  98.     duplicate -y {FLEX} {BINDIR}
  99.     duplicate -y flexskelcom.h {INCLUDES}
  100.     duplicate -y flexskeldef.h {INCLUDES}
  101.     duplicate -y fastskeldef.h {INCLUDES}
  102.     duplicate -y flex.skel {LIBDIR}
  103.     duplicate -y flex.fastskel {LIBDIR}
  104.  
  105.